<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
        倒计时效果：
            1.获取两个时间点
            2，转化为时间戳，并相减
            3，结果转化为时分秒
        */
       /*  转化公式如下：
        1. d = parseInt(总秒数 / 60 / 60 / 24);
        2. h = parseInt(总秒数 / 60 / 60 % 24);
        3. m = parseInt(总秒数 / 60 % 60);
        4. s = parseInt(总秒数 % 60);
        * /
 */
        // 1. 某个时间点到当前的倒计时
        function countDowm(date) {

            // 获取时间
            let d1 = new Date();

            // 时间戳
            d1 = d1.getTime();
            let d2 = date.valueOf();

            // 时间戳差值
            let sub = d2 - d1;
            sub = sub / 1000;

            // 计算公式
            h = parseInt(sub / 60 / 60 % 24)//计算小时
            m = parseInt(sub / 60 % 60)//计算分钟
            s = parseInt(sub % 60)//计算当前秒数

            // 补零

            h = h < 10 ? '0' + h : h;
            m = m < 10 ? '0' + m : m;
            s = s < 10 ? '0' + s : s;

            // 字符串拼接

            return h + ":" + m + ":" + s;

        }

        let result = countDowm(new Date("2022-8-18 12:00:00"));
        console.log(result);
    </script>
</body>

</html>